package com.edou.auth.service;

import java.util.List;

import com.edou.auth.dto.RoleCondition;
import com.edou.auth.entity.Role;
import com.edou.base.page.PageResult;

/**
 * 角色service
 * @creator     admin
 * @create-time 2016年2月15日   上午11:48:02
 * @email admin@edou.com
 * @company www.edou.com
 * @version 1.0
 */
public interface IRoleService {

	/**
	 * 查询所有角色
	 * @return
	 */
	List<Role> listRoleAll();
	
	/**
	 * 根据用户id查询角色列表
	 * @param userId
	 * @return
	 */
	List<Role> listRoleByUserId(String userId);

	/**
	 * 分页查询角色
	 * @param pageResult
	 * @param condition
	 */
	@SuppressWarnings("rawtypes")
	void listRoleByPage(PageResult pageResult,RoleCondition condition);

	/**
	 * 获取角色
	 * @param id
	 * @return
	 */
	Role getRoleById(String id);
	
	/**
	 * 根据角色代码查询角色
	 * @param code
	 * @return
	 */
	Role getRoleByCode(String code);

	/**
	 * 保存角色
	 * @param saveRoleVO
	 */
	void saveRole(Role item);

	/**
	 * 删除角色
	 * @param id
	 */
	void delByIds(String[] ids);

	/**
	 * 检查角色代码是否重复
	 * @param item
	 * @return
	 */
	boolean checkCodeRepeat(Role item);
	
	/**
	 * 设置角色类型
	 * @param ids
	 * @param type
	 */
	void setSysRole(String[] ids,Integer type);
}
